⚙

Armoured Arena — Standalone

Upload your tank blueprints and duel — one file, no dedicated game server, no install.

UNOFFICIALIndependent fan project - not affiliated with, endorsed by or connected to Sprocket: Tank Design in any way.

OFFLINE Save this file anywhere and double-click it — your tank pool lives in this browser.

Garage

Drop or pick a .blueprint file from Documents\My Games\Sprocket\Factions\...\Blueprints\Vehicles

Tank pool

Twenty-four tanks are built in — The Satellite, Chi Ha LG (M), Object 658M, T4 Heavy Tank, Objekt 862, Object-425, Panzerkampfwagen LXXV Löwe, Panzerjäger VII B, plus 16 historical vehicles: Panther G, M4 Sherman, Sherman Firefly, T-34-85, Centurion Mk.1, and 11 new WWII tanks (Tiger 1H, Tiger II, Panzer IV H, T-34 (1939 A-34), KV-1 (1941), KV-2 (1940), IS-1, IS-2 (1944), Cromwell IV, Churchill VII, Carro Armato P40). Pick one as yours, or as the opponent. Your own uploads are saved in this browser and appear below them.

Loading…

Battle

Map graphics and tank textures can be switched during battle. Advanced map generation changes the obstacle shapes and collision geometry for the next round; the host controls it in online games.

Player
0 km/h
Enemy
0 km/h

Player 1

  • W / S — throttle / reverse
  • A / D — steer
  • Mouse — aim turret
  • LMB / Space / 1 — fire all cannons
  • 2 – 5 — fire cannon 1–4 alone
  • Q / E / R / T / Y — AP / APCR / HEAT / AP-HE / HE (100+ mm)

Player 2 (local, one keyboard)

  • I / K — throttle / reverse
  • J / L — steer
  • , / . — rotate turret
  • / or R-Shift — fire all cannons
  • 7 / 8 / 9 / 0 — fire cannon 1–4 alone
  • U / O / P / H / N — AP / APCR / HEAT / AP-HE / HE (100+ mm)

Match

  • R — rematch on a new map once a round is over (during a battle the key loads HEAT shells instead; T selects AP-HE, Y selects HE)
  • Pick your rules: Standard, Mirror (both sides in the same tank — copied or drawn at random every round) or Weight class (both sides restricted to a weight band).
  • AI difficulty: all three play the same rules and all three plan routes around buildings, take the hill and obey fog of war — they differ in skill. Easy — slow to react, loose aim that often wastes shots on corners and fast movers, picks one shell type per fight, faces you square-on and moves predictably. Medium — the default: decent lead and quick reactions, angles its armour, goes for flank shots when your front is too thick, but still wastes a shot now and then. Hard — near-perfect lead (it even predicts a turning or braking target), checks the shell path before firing, deliberately angles its frontal armour, searches for firing lanes with nearby cover, makes short cover retreats when reloading and exposed, and presses while your gun is empty. These tactics require an actual reachable route and may be less effective in open terrain.
  • Network (online): the host clicks Host game, shares the room link/code, and the guest opens the link or pastes the code: the WebRTC handshake is automatic, without a reply code. PeerJS Cloud provides signaling only; the host browser remains the authoritative game server and streams the battle to Player 2 over an encrypted WebRTC channel. A publicly hosted copy of the page can share working links; a locally opened file:// copy must share the room code because a private file path cannot be opened on another computer. Both players need the same compatible game version, including these ammunition types. Under Manual two-code connection you can still exchange offer and reply if signaling is unavailable. The host picks rules and tanks, either player can press R for a rematch, and Player 2 uses the same WASD, mouse and Q/E/R/T/Y ammunition controls as Player 1.
  • Aim down sights: hold Left Shift to project a private aiming line and move the camera ahead. With fog of war, your near-vision radius shrinks to 2 m and your gun-direction view narrows to 40° total (20° either side).
  • Team elimination, Team deathmatch and Free for all: single-player battles with up to 4 tanks on each team or up to 8 free-for-all participants. Configure each AI tank and difficulty in the roster. Team elimination ends when one team is wiped out. Team deathmatch respawns knocked-out tanks and awards kills to the destroying team. Free for all ends with the last tank standing; five through eight participants use a five- through eight-corner arena. Maps scale up as the roster grows. Friendly shots do not deal damage. In these modes AI can share recent sightings with teammates, while free-for-all AI relies on its own sightings. Omnipotent AI is optional.
  • AI vs AI (spectate): both sides are driven by the AI at the chosen difficulty and you watch the fight from the usual 2-player view — both HUD cards, reloads and module read-outs are public. Pick the tanks and rules as usual, press Start battle, and R still deals a fresh rematch. In the battle history the winner is listed as Player 1 (AI) / Player 2 (AI).
  • Game modes (row above the toggles): Battle is the classic duel — first kill wins. King of the hill grows the map, puts a control zone at its centre and awards the lone tank inside it 1 point a second (the circle and its holder are also shown on the minimap and in the HUD); the point target is yours to set (50 by default) and Allow respawns decides whether a kill is final — with respawns on the wreck comes back after 3 seconds and only the points end the battle. The AI plays the objective in every mode: it heads for the zone, holds it while fighting from inside, contests it as soon as you sit in it, and takes it for free while you are waiting to respawn. Deathmatch: first to the kill target (3 by default) wins; a destroyed tank respawns after 3 seconds at its start corner, fully repaired, and the kills show in the HUD, the timeline and the battle summary. Both new modes work with every opponent type, rule set and over the network — the host picks the mode.
  • AI tactical cover (medium / hard): Medium prefers exposed firing lanes with a nearby reachable escape into cover. Hard also searches for short cover retreats while reloading when threatened, keeps its strongest frontal armour oriented toward known targets, and may reverse into a nearby firing position rather than expose its flank. Easy keeps its simpler movement. AI with fog on does not use the live position of an unseen enemy: it searches its probability map and reacts to actual sightings, flashes and fire.
  • Fog of war (works in every game mode): you see a 90° vision cone — 45° either side of your barrel (the turret gun on turreted tanks, the hull gun on casemates) — out to about 95 m with soft falloff, plus your immediate surroundings inside 14 m. Obstructions are real: the cone is ray-cast, so buildings and rocks throw shadows you cannot see past — and a tank you have not spotted is not drawn at all, no dark silhouette in the black. The fog shading tracks obstacle corners with adaptive rays to reduce visual jitter while moving; the enemy also vanishes from the minimap until spotted; anything inside 14 m is always seen, and firing briefly gives your position away to both sides (a flash glows through the dark). The AI is bound by exactly the same rules: it only fires at a tank it can actually see, and it never reads your position through the fog. Without a sighting it keeps a map of where you could be — that map blurs with your top speed and is wiped clean wherever its own cone has looked and found nothing — and hunts the likeliest spot, sweeping its gun as it goes. A muzzle flash shows through the dark within 130 m for you and for the AI, and tracers or hits tell it which way the fire is coming from. In local 2-player the screen shows both players' cones; over the network each player only ever sees their own. The Omnipotent AI toggle lifts those limits for the AI only: it always knows where you are, aims and opens fire from anywhere on the map — exactly how it behaves in a no-fog battle — while your own fog is unchanged. It does nothing without fog of war, and nothing in 2-player / online games (no AI to boost).
  • Battle history: every finished battle is recorded at the bottom of the page and stored in this browser like the tank pool. The entry's title shows when it was fought and who won; click it to open the timeline (battle clock from 00:00), then click again to close. Every shot is listed — gun calibre and shell type, whether it missed, and on a hit the damage dealt plus any module damage — alongside the moment each module was destroyed or fully repaired. The bottom of each timeline sums the battle up per side: shots fired, hits, bounces, damage dealt and damage taken. The Clear button wipes the whole history.
  • Advanced ammunition (remembered): AP is standard (1.0x penetration and damage); AP-HE gets 0.90x penetration and 1.25x damage; APCR 2.5x penetration and 0.5x damage; HEAT 2x penetration and 0.75x damage. HE is restricted to cannons 100 mm or larger: 0.20x penetration and 1.50x damage at 100 mm, increasing both multipliers by 0.05 for every complete additional 5 mm of calibre (122 mm: 0.40x / 1.70x; 152 mm: 0.70x / 2.00x). If a vehicle has mixed gun sizes, its smaller guns use AP when HE is selected. The penetration check and 25% non-penetration chip mechanic still apply. Player 1 and online Player 2 use Q / E / R / T / Y (AP / APCR / HEAT / AP-HE / HE); local Player 2 uses U / O / P / H / N. Easy AI picks a shell for its fight; harder AI evaluates the available shell profiles against armour.
  • The AI plays the shell game too. It always fires the cheapest shell that can punch the plate it is aiming at; when its normal AP rounds cannot crack your armour it loads suitable higher-penetration rounds; and if no shell it can load penetrates you from any angle — or it cannot reach a workable angle after a while — it stops holding fire and shoots anyway: bounced shells still chip 25% damage. Turn the toggle off for the classic AP-only AI.
  • In 2-player and online games, both players' reload bars and speeds are shown in the HUD — against the AI, the enemy's reload stays hidden.
  • Stats come from your blueprint: mass, engine power, armour, guns — and crew, which drives repair speed.
  • Twenty-four tanks are built in from the start — eight original Sprocket exports plus 16 historical vehicles (Panther G, M4 Sherman, Sherman Firefly, T-34-85, Centurion Mk.1, Tiger 1H, Tiger II, Panzer IV H, T-34 (1939 A-34), KV-1 (1941), KV-2 (1940), IS-1, IS-2 (1944), Cromwell IV, Churchill VII, and Carro Armato P40) — open the tank pool and battle without any uploads.
  • Historical tank specification notes: The sixteen built-in historical vehicles are simplified Sprocket-style blueprint representations. Mass, crew, nominal plate thickness, rated horsepower, top road speed, gun calibre and approximate barrel lengths follow selected real-world variants. The game's HP, average facing armour, shell damage, reload and penetration are approximations for 2D play, not engineering-grade vehicle simulations. Tank shapes are recognizable top-down reconstructions, not original 3D Sprocket factory or museum meshes. Their turret outlines, commander cupolas, engine-deck fixtures, stored tools and gun proportions are tuned to resemble period top/plan-view drawings. These are stylized 2D models, not 1:1 technical meshes. The 1939 T-34 represents the A-34 prototype (L-11 gun); the Tiger 1H represents an early production vehicle, Tiger II uses the production Henschel-type turret, and the IS-2 uses the 1944 glacis. Additional metadata is stored in each embedded header.arenaHistorical object and does not affect ordinary imported blueprints.
  • Armour is real: shells that can't punch the plate they strike do 25% damage — and sloped plates also degrade the shell itself.
  • Modules — tracks, engine + transmission and turret ring. Each track carries 35% of the tank's hit points and takes any shell that strikes its side of the hull along the track run the blueprint lays out — even bounced shells chew it. A destroyed track stops the tank driving; the surviving track can still pivot the hull slowly. The crew repairs it in 15 seconds of standing still. The engine module is the whole powertrain: it covers the engine bay and the transmission bay, each exactly where the blueprint mounts them (roughly 1 m circles around those spots; rear-third / nose defaults for designs without that data): shots that penetrate inside either bay damage the shared pool, and every point of powertrain damage cuts engine power by the same fraction — top speed, acceleration and handling all fade with it. A knocked-out powertrain does not leave the tank rolling on: the hull decelerates and grinds to a halt. A stationary tank regenerates 10% engine health every 5 seconds. On turreted designs the turret ring is a module too: for every 10% of its health lost, turret rotation slows by 7.5% — never below 25% rotation speed even at zero. The crew repairs a wrecked ring in the same 15 standing seconds as a track. A penetrating shell may strike at most one internal module — the first module its path intersects inside the hull (powertrain, transmission bay, or turret ring), even when the entry point is on the outer side armour — while the external tracks can be chewed by the same shot; the tank's hit points are only charged once per shell, no matter how many modules it meets. With several modules damaged, the crew repairs the first one that broke. Every crew member above 4 speeds repairs up by 5%; each one below 4 slows them by 10%. Both tanks' module status is shown in the HUD, a snapped track is drawn dark and jagged, and a shot-up engine smokes. Tanks also wear their blueprint's own details — cupolas, crew hatches, engine-deck vents, exhausts, vision ports and antennas — and the engine deck and transmission cover drawn over the hull mark the matching powertrain zones, so what you see is where you shoot.
  • Muzzle velocity matters: fast shells hit a little harder, slow ones a little softer, and every hit deals a whole number of damage.
  • Reload-speed model: 20 mm guns reload in 0.75 s, rising linearly to 1.5 s at 40 mm. Guns above 40 mm start at 5 s, then gain 0.04 s/mm from 40 to 75 mm, 0.11 s/mm from 75 to 125 mm, and 0.04 s/mm above 125 mm. These three segments meet continuously at 75 and 125 mm; a small capped casing-length adjustment and an additive shortage-of-crew penalty also apply (generic reload cap: 18 s). Selected historical vehicles with faster reference reloads retain that advantage, while the separately loaded KV-2 and IS-2 keep their longer reference reloads. The Tiger II remains at 8.0 s. Imported and original non-historical Sprocket blueprints additionally use the nearest compatible ammunition rack measured from the gun breech in 3D (including parent transforms and rack dimensions): the closer the ready ammunition, the faster the reload; distant racks make it slower. A bounded modifier is calibrated so the Object 658M's 125 mm gun reloads in approximately 10 seconds. Guns without matching ammo-rack positions keep the normal formula. The historical tanks are not adjusted by rack placement. This is an approximation, not a full autoloader simulation.
  • Balanced ramming: Tanks still push each other according to mass and lose momentum in collisions. Ram damage now requires a clear weight advantage and meaningful closing speed, is capped at 8 HP per impact and is applied once per sustained contact instead of once per animation frame. A brief separation is required before another impact can deal damage.
  • Blueprint armour depth: Tank hulls and turrets now display filtered roof-to-sloped-plate seams, directional highlights, and subtle armour-facet shading derived from their Sprocket mesh faces. This works on built-in and later imported .blueprint tanks, in previews and battles. Meshes without usable upper faces get a simplified raised roof outline. The effect is cosmetic and leaves armour physics unchanged.
  • Turning costs speed: a light steer keeps most of it, hard lock drags you down to about 60% of your top speed while held. Let go of the steer and the speed builds back up.
  • Hit points come from mass and armour — heavier, better-plated tanks soak more fire.
  • Map graphics: Classic uses the original plain obstacles; Default adds shaded buildings, roofs, rubble, forests and decorative detail; High quality adds richer obstacles and cached terrain textures with trails, patches, ground wear and pebbles. Graphics quality is local, saved and can be changed mid-battle.
  • Advanced map generation: When enabled, newly generated obstacles have angular, chamfered and polygonal footprints, instead of only rectangles. These polygons affect collisions, projectiles, line-of-sight, fog and AI navigation. Off reproduces the previous rectangle-only generator. This option applies on the next round and the host determines it online.
  • Tank textures: Classic removes mesh-derived armour plate shading and seams, preserving flat silhouettes; Refined restores the armour slope shading and roof edges for both built-in and imported vehicles. Tank details are controlled separately.
  • Tank details (on by default) draws every tank's blueprint details — cupolas, crew hatches, engine-deck vents, exhausts, vision ports and antennas — plus the engine-deck grille and transmission cover over their damage zones. The garage preview always shows the full detail; the toggle applies to the battlefield, is remembered, and works live mid-battle.
  • Drag the handle below the battle window to change the arena height (double-click it to reset; the setting is remembered).

Online connection errors & troubleshooting

If a connection fails, find its NET-xxx code in the Network status line above. Retry Host game / Join game after a failed attempt; use Manual two-code connection if signaling is unavailable.

  • NET-001 — WebRTC is unavailable. Use a current browser with WebRTC enabled.
  • NET-002 — Invalid, incomplete, oversized or corrupted invite/reply code. Copy the entire code again.
  • NET-003 — Reply does not match the active invite, or was already applied. Start a new host/join exchange.
  • NET-004 — ICE negotiation failed: a firewall/NAT or unavailable relay prevented a connection. Try another network or a configured TURN service.
  • NET-005 — The data channel failed to open within the connection timeout. Both host and manual guest detect this. Check candidate counts in Connection diagnostics.
  • NET-006 — A previously working link remained disconnected for 8 seconds. Controls are released until the connection recovers; wait briefly before starting a new invite.
  • NET-007 — Channel closed or connection ended. Create a new game to reconnect.
  • NET-008 — Peer sent an invalid, oversized or excessive number of messages. The packet was dropped; repeated abuse closes the link.
  • NET-009 — Browser/connection setup or local codec error. Refresh, check browser support and try again.
  • NET-010 — Data-channel send failure. Check the connection and retry if it persists.
  • NET-011 — Automatic signaling service is offline or unreachable. Try again or use the manual two-code fallback.
  • NET-012 — Host room not found, already occupied or expired. Make sure the host has the tab open and resend a fresh invitation.
  • NET-013 — Could not download the PeerJS library. Check browser network/CSP, disable blocking extensions if appropriate or use manual mode.
  • NET-014 — Automatic room code is malformed. Copy the complete room code or website link.

Brave and restrictive networks: Brave's WebRTC IP-handling policy (Settings → Privacy and security) can restrict direct UDP connections. A functioning TURN relay is often necessary. The built-in public relay is best-effort, not a guarantee. Open "Connection diagnostics & relay settings" above and copy the diagnostics after a failure. Manual two-code mode still uses exactly the same ICE/TURN network route; it only avoids the signaling service. For better reliability deploy authenticated TURN-over-TLS (TURNS on TCP 443). Never publish permanent TURN credentials in the HTML file.

Privacy & limits: WebRTC encrypts gameplay traffic, but peers and the STUN/TURN infrastructure may learn network addresses and connection metadata. Public TURN and PeerJS Cloud signaling availability is not guaranteed. The one-link method loads PeerJS 1.5.5 from jsDelivr and registers an unguessable temporary ID on PeerJS Cloud; network access to both services is required, but no registration is needed. Treat invitation links as private: anyone who obtains a live code may attempt to join before the intended guest. Manual invite codes contain WebRTC connection details. Fog hides unspotted host-tank coordinates from Player 2's snapshots; shots and flashes can still reveal a location, and the host is not an independently trusted, cheat-proof server. Network snapshots are capped at about 30 per second to reduce bandwidth and latency under load.

Battle history

Finished battles are recorded here and kept in this browser, just like the tank pool. Click a battle's title to open its shot-by-shot timeline; click it again to close it. LAN guests see the battle live but the host keeps the record.

No battles recorded yet — start one and fight to the end.